/* 
 * File:   IndiceRepo.h
 * Author: ramiro
 *
 * Created on 24 de octubre de 2012, 09:43
 */


#ifndef INDICEREPO_H
#define	INDICEREPO_H

#include "Constantes.h"
#include "CLIIndexParser.h"
#include "Parser.h"

#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
#include <dirent.h>

using namespace std;

class IndiceRepo {
public:
    IndiceRepo(const char* nombre_repo,const char* rutaRepo,unsigned int dimMatRed);
    IndiceRepo();
    virtual ~IndiceRepo();
    
    void ExisteSinoCreoArchIdxRepo(fstream* fIdxRepo);
    bool VerificoSiNombreRepoYaExiste(std::fstream *fd,const char* nombreRepo);
    void AgregoCaracteristicasIndexacion(std::fstream* fd,IndiceRepo regRepo);
    unsigned int ContarCantArchivosRepo(const char* nombreRepo);
    
    
    //unsigned int getCantArchivosRepo(const char* nombreRepo);
    char* getNombreRepositorio();
    char* getRutaDirectorio();
    unsigned int getDim_mat_red();
    
private:
    void PasarPalabraAMinuscila(char* palabra);
    
    char clave_prim[ANCHO_NOMBRE_REPO];
    char directorio[ANCHO_DIRECTORIO_ARCH_IDX_REPO];
    unsigned int dim_mat_red;
    
};

#endif	/* INDICEREPO_H */

